# locust777


//--------------------------------------------------------------------------------------------------------------------------------------


//递归,五的阶乘

#include<stdio.h>
#include<windows.h>

int main()
{
	int fac(int n);   //声明一个参数函数
	int n;
	int y;
	printf("input an integer number:");  //设置两个变量
	scanf("%d",&n);  //输入一个数
	y=fac(n);  //应用函数
	printf("%lld=%d\n",n,y);  //用long long d整型：n  = y


system("pause");
return 0;
}

int fac(int n)
{
	int f;  //设置一个变量f
	if(n<0)
		printf("n<0,data error!");  //当n小于0时，产生错误
	else if(n==0 || n == 1)   //当n == 0 或者 n == 1 则f = 1
		f=1;
	else
		f=fac(n-1)*n;  //则为f(4)*5 --->(f(3)*4)*5 --->((f(2)*3)*4)*5 --->(((f(1)*2)*3)*4)*5 --->1*2*3*4*5

return(f);
}




//
//
////sacnf语句的使用实例
//
//#include<stdio.h>
//#include<windows.h>
//#include<string.h>
//
//int main()
//{
//	//1.输入字符串 {'a','b','c','d','e'}
//	int i = 0;
//	//printf("输入10个字符:\n"); //存在此语句会导致后续，语法错误，缺少;
//	char arr[30];
//	for(i=0;i<10;i++)
//		scanf("%c",&arr[i]);         //必须加[i],arr[i],每一个的地址
//	printf("\n");                    //          arr只是第一个地址，之后越界
//
//	for(i=0;i<10;i++)
//		printf("%c",arr[i]);
//
//
//	////2.自带字符串 = "hello world"
//	//int i = 0;
//	//char arr[20] = "hello world";  //不能加("hello world")
//	//printf("%s",arr);
//
//	////3.gets输入字符串 = 输入
//	//int i = 0;
//	//char arr[20];
//	//printf("输入字符串:\n");
//	//gets(arr);   //上述arr要使用char类型
//	//printf("%s",arr);
//
////	//4.{'a','b','c','d','e'}
////	char arr[30] = {'a','b','c','d','e'};
////	//printf("%s ",arr); //只能输入一个
////	int i,len;
////	len = sizeof(arr)/sizeof(arr[0]);
////	for(i=0;i<len;i++)
////		printf("%c",arr[i]); //不能%s,需要%c
//
//
//
//
////%s：
////用于输出字符串
//
////%c：
////用于输出字符
//
//
//system("pause");
//return 0;
//}


////数组
//
//
//#include<stdio.h>
//#include<windows.h>
//
//int main()
//{
//
//
//
//
//system("pause");
//return 0;
//}
//


////结构体
//
//
//#include<stdio.h>
//#include<windows.h>
//
//int main()
//{
//
//
//
//
//system("pause");
//return 0;
//}
//


////运算符优先级
//
//
//#include<stdio.h>
//#include<windows.h>
//
//int main()
//{
//
//
//
//
//system("pause");
//return 0;
//}
//


////实现阶乘
//
//#include<stdio.h>
//#include<windows.h>
//
//int main()
//{
//
//
//
//
//system("pause");
//return 0;
//}
